Spring中@Autowired和@Resource的区别: | 您所在的位置:网站首页 › autowired 与 resource 的区别 › Spring中@Autowired和@Resource的区别: |
文章目录
一、@Autowired二、@Resource三、@Autowired和@Resource的区别:
一、@Autowired
@Autowired 这个注解呢,是由 Spring 提供的,它可以用来对构造方法、成员变量以及方法参数上进行标注,能够根据对象类型完成自动注入。 public class Service { //构造方法注入 @Autowired public Service (Service service) { this.service = service; } //成员变量注入 @Autowired private Service service; //方法参数注入 @Autowired public void setService (Service service) {this.service = service; } } 二、@Resource
1、@Resource是JDK原生的注解,@Autowired是Spring2.5 引入的注解 2、@Resource有两个属性name和type。Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。 @Autowired只根据type进行注入,不会去匹配name。如果涉及到type无法辨别注入对象时,那需要依赖@Qualifier或@Primary注解一起来修饰。 |
CopyRight 2018-2019 实验室设备网 版权所有 |